home *** CD-ROM | disk | FTP | other *** search
/ Shareware Games Galore! / Shareware Games Galore!.iso / arcade / gameser5 / zap-em.bas (.txt) < prev   
Encoding:
GW-BASIC  |  1982-05-19  |  4.3 KB  |  151 lines

  1. 100  CLS
  2. 110  A$=STRING$(80,205)
  3. 120  PRINT A$
  4. 130  PRINT TAB(34)"ZAP`EM  #2007-A"
  5. 140  COLOR 23,0,0
  6. 150  PRINT :PRINT :PRINT TAB(39)"IPCO"
  7. 160  COLOR 7,0,0
  8. 170  PRINT :PRINT :PRINT TAB(25)"PERSONAL COMPUTER OWNERS GROUP"
  9. 180  PRINT :PRINT :PRINT TAB(19)"p.o. box 10426, pittsburgh, pennsylvania 15234"
  10. 190  PRINT A$
  11. 200  PRINT :PRINT :PRINT :PRINT :PRINT
  12. 210  PRINT TAB(28)"PRESS ANY KEY TO CONTINUE"
  13. 220  A$=INKEY$:IF A$="" THEN 220
  14. 230  CLS
  15. 240  KEY OFF:SCREEN 0,1:COLOR 15,0,0:WIDTH 40:CLS:LOCATE 5,19:PRINT "IBM"
  16. 250  LOCATE 7,8 ,0:PRINT "General  utility  programs"
  17. 260  COLOR 9 ,0:LOCATE 10,9,0:PRINT CHR$(213)+STRING$(21,205)+CHR$(184)
  18. 270  LOCATE 11,9,0:PRINT CHR$(179)+"       ZAP'EM        "+CHR$(179)
  19. 280  LOCATE 12,9,0:PRINT CHR$(179)+STRING$(21,32)+CHR$(179)
  20. 290  COLOR 9,0:LOCATE 13,9,0:PRINT CHR$(179)+"     Version  1B     "+CHR$(179)
  21. 300  BEEP
  22. 310  LOCATE 14,9,0:PRINT CHR$(212)+STRING$(21,205)+CHR$(190)
  23. 320  COLOR 15,0  :LOCATE 17,7,0:PRINT "FEBRUARY 03,1982   MAV-5-5-K "
  24. 330  COLOR 9,0:LOCATE 23,6,0:PRINT "Press space bar to continue..."
  25. 340  IF INKEY$ <> "" THEN GOTO 340
  26. 350  CMD$ = INKEY$
  27. 360  IF CMD$ = "" THEN GOTO 350
  28. 370  IF CMD$ = CHR$(27) THEN GOTO 390
  29. 380  IF CMD$ <> " " THEN GOTO 350
  30. 390  CLS:INPUT "DO YOU WANT INSTRUCTIONS";IN$
  31. 400  IF IN$="Y" OR IN$="YES" OR IN$="y" OR IN$="yes" THEN GOSUB 1230
  32. 410  REM TRANSFER COMMAND
  33. 420  REM **ZAP EM  ***
  34. 430  REM **A GAME*****
  35. 440  CLS
  36. 450  CLEAR ,,21000
  37. 460  INPUT "AH....YOUR NAME PLEASE ";NME$:LOCATE 15,1:INPUT "YOUR LAST SCORE ";R
  38. 470  DIM A(250),B(250)
  39. 480  FUEL=150
  40. 490  SHIP=3
  41. 500  V=7
  42. 510  T1=6
  43. 520  X=10 :Y=20
  44. 530  SCREEN 0,1
  45. 540  COLOR 7,0
  46. 550  RANDOMIZE R
  47. 560  CLS
  48. 570  COLOR 1
  49. 580  FOR I=1 TO 23:LOCATE I,1:PRINT CHR$(186):LOCATE I,38:PRINT CHR$(186):NEXT I
  50. 590  LOCATE 1,1:PRINT CHR$(201):LOCATE 1,38:PRINT CHR$(187):LOCATE 23,1:PRINT CHR$(200):LOCATE 23,38:PRINT CHR$(188)
  51. 600  FOR I=2 TO 37:LOCATE 1,I:PRINT CHR$(205):LOCATE 23,I:PRINT CHR$(205):NEXT I
  52. 610  LOCATE 4,1:PRINT CHR$(204):LOCATE 4,38:PRINT CHR$(185):FOR O=2 TO 37:LOCATE 4,O:PRINT CHR$(205):NEXT O
  53. 620  KEY(14) ON
  54. 630  ON KEY(14) GOSUB 970
  55. 640  KEY(11) ON
  56. 650  ON KEY(11) GOSUB 980
  57. 660  KEY(1) ON
  58. 670  ON KEY(1) GOSUB 990
  59. 680  REM **TRANSFER COMMAND**
  60. 690  LOCATE 2,15:PRINT SHIP
  61. 700  IF SHIP=0 OR FUEL=0 THEN FOR H1=1 TO 13:PRINT "GAME OVER":NEXT:GOTO 1330
  62. 710  LOCATE X,2:PRINT CHR$(27)
  63. 720  RR=INT(RND(2)*10)
  64. 730  IF B(RR)=0 THEN A(RR)=INT(RND(3)*16)+5:B(RR)=INT(RND(4)*7 )+30
  65. 740  FOR F=1 TO T1
  66. 750  IF A(F)=0 OR B(F)=0 THEN 810
  67. 760  IF A(F)=X AND B(F)=2 THEN BEEP:SHIP=SHIP-1:LOCATE X,2:PRINT"OUCH":FOR VV=1 TO 300:NEXT VV:LOCATE X,2:PRINT "      ":LOCATE 2,15:PRINT SHIP
  68. 770  IF A(F)=0 THEN 810
  69. 780  IF B(F)<3 THEN LOCATE A(F),B(F):PRINT " ":B(F)=0:A(F)=0:SCORE=SCORE-150:SOUND 55,1:GOTO 810
  70. 790  LOCATE A(F),B(F):PRINT " ":B(F)=B(F)-1
  71. 800  COLOR 14:LOCATE A(F),B(F):PRINT CHR$(254):COLOR 7
  72. 810  NEXT F
  73. 820  Y=Y+  M
  74. 830  IF X>21 THEN LOCATE 22,2:PRINT "   ":X=6
  75. 840  IF X<6 THEN LOCATE 5,2:PRINT "   ":X=21
  76. 850  FUEL=FUEL-1.2
  77. 860  IF FUEL<50 THEN V=31
  78. 870  COLOR 7:LOCATE 2,24:PRINT "SCORE: ";SCORE
  79. 880  COLOR V
  80. 890  IF FUEL<1 THEN COLOR 7:LOCATE 3,3:FOR U=1 TO 10:PRINT "GAME OVER":NEXT:GOTO 1330
  81. 900  RR=INT(RND(2)*T1)
  82. 910  IF B(RR)=0 THEN A(RR)=INT(RND(3)*16)+5:B(RR)=INT(RND(4)*7 )+30:IF A(RR)<6 THEN A(RR)=7
  83. 920  IF A(RR)=0 THEN A(RR)=INT(RND(3)*16)+5:B(RR)=INT(RND(4)*7 )+30:IF A(RR)<6 THEN A(RR)=7
  84. 930  LOCATE 2,3:PRINT"FUEL: ";INT(FUEL)
  85. 940  LOCATE X,2:PRINT CHR$(27)
  86. 950  COLOR 7
  87. 960  GOTO 620
  88. 970  GOSUB 1010:X=X+1        :GOTO 680
  89. 980  GOSUB 1010:X=X-1        :GOTO 680
  90. 990  GOSUB 1050
  91. 1000  GOTO 620
  92. 1010  IF X>22 THEN X=2
  93. 1020  IF X<2 THEN X=22
  94. 1030  LOCATE X,2:PRINT" "
  95. 1040  RETURN
  96. 1050  LOCATE X,2:PRINT CHR$(27)
  97. 1060  COLOR 4
  98. 1070  FOR Z=1 TO T1
  99. 1080  IF X=A(Z) THEN 1120
  100. 1090  NEXT Z
  101. 1100  FOR CC=3 TO 24:LOCATE X,CC:PRINT "-":LOCATE X,CC:PRINT " ":NEXT CC
  102. 1110  COLOR 7:GOTO 620
  103. 1120  FOR LL=3 TO 24
  104. 1130  LOCATE X,LL:PRINT "-"
  105. 1140  IF LL=B(Z) THEN LOCATE X,LL:PRINT "*":GOSUB 1190:LOCATE X,LL:PRINT " ":A(Z)=0:B(LL)=0:SCORE=SCORE+100:GOTO 680
  106. 1150  LOCATE X,LL:PRINT " "
  107. 1160  NEXT LL
  108. 1170  COLOR 7
  109. 1180  GOTO 620
  110. 1190  FOR OO=300 TO 315
  111. 1200  SOUND OO   ,0.21
  112. 1210          NEXT OO
  113. 1220  RETURN
  114. 1230  CLS
  115. 1240  LOCATE 25,1:PRINT"Press any key to start game..."
  116. 1250  PRINT"               Zap'em"
  117. 1260  PRINT:PRINT"  You are the reverse arrow (It is      supposed to be a fighter with rakish    inverse swept wings)."
  118. 1270  PRINT:PRINT"  Your mission is to zap the invading   Horde ships in your path. The Horde is  a huge mass of drone ships that is try- ing to get past the imperial fleet and  into the rich homeworld systems."
  119. 1280  PRINT:PRINT"  The Horde ships are unpredictable.    Some are Ghost ships. These will take   more than one hit or will vanish upon   being hit without a score increment."
  120. 1290  PRINT:PRINT"  The controls are simple: up and down  cursor control arrow keys for up and    down movement. F1 to fire."
  121. 1300  PRINT:PRINT"  Good hunting"
  122. 1310  X$=INPUT$(1):IF X$<>"" THEN RETURN
  123. 1320  GOTO 1310
  124. 1330  '**HIGH SCORE**
  125. 1340  CLS
  126. 1350  LOCATE 2,2:PRINT"HIGH SCORES...."
  127. 1360  LOCATE 3,1:PRINT"_______________________________________"
  128. 1370  LOCATE 5,1
  129. 1380  DIM NME$(50),SCORE(50)
  130. 1390  OPEN "METEOR.DAT" FOR INPUT AS #1
  131. 1400  FOR I=1 TO 10
  132. 1410  INPUT #1,NME$(I),SCORE(I)
  133. 1420  PRINT NME$(I),SCORE(I)
  134. 1430  NEXT I
  135. 1440  NME$(10)=NME$:SCORE(10)=SCORE
  136. 1450  CLOSE
  137. 1460  IF SCORE(10)<SCORE(9) GOTO 1520
  138. 1470  FOR I=1 TO 10
  139. 1480  IF SCORE(I)<SCORE(I+1) THEN SWAP SCORE(I),SCORE(I+1):SWAP NME$(I),NME$(I+1):F=1
  140. 1490  NEXT I:IF F=1 THEN F=0:GOTO 1470
  141. 1500  OPEN "METEOR.DAT" FOR OUTPUT AS #1
  142. 1510  FOR I=1 TO 10:PRINT#1,NME$(I);",";SCORE(I):NEXT I:CLOSE
  143. 1520  LOCATE 5,1
  144. 1530  FOR I=1 TO 9
  145. 1540  PRINT NME$(I),SCORE(I)
  146. 1550  NEXT I
  147. 1560  LOCATE 17,1:PRINT "YOUR SCORE, ";NME$;", WAS";SCORE
  148. 1570  LOCATE 22,1:INPUT "PLAY AGAIN (Y OR N)";PLY$
  149. 1580  IF PLY$="Y" THEN 420
  150. 1590  RUN "MENU
  151.